#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#define SHOWS "车牌		车架号	车主	品牌	型号	颜色	录入时间\n"
#define LEN sizeof(struct vehicle)
#define LEN2 sizeof(struct owners)
#define FROMAT "%s	%d	%s	%s	%s	%s	%d:%d:%d\n" 
#define DATA veh[i].plate,veh[i].registration,veh[i].ownerv->name,veh[i].brand,veh[i].mod,veh[i].color,veh[i].timed->year,veh[i].timed->moth,veh[i].timed->day
#define N 10000
struct times{
	int year;//年 
	int moth;//月
	int day;//日 
}timed[N];

struct owners{
	int num; 
	char name[20];//车主 
	char plate1[20];
	char plate2[20];
	char plate3[20];
}owner[N];
struct vehicle{
	char plate[20];//车牌 
	int registration;//车架号 
	struct owners ownerv[20];//车主 
	char brand[20];//品牌 
	char mod[20];//车型 
	char color[20];//颜色
	struct times timed[N];//注册时间 
}veh[N];

void inp();//输入人  
void inv();//输入人 
void showmenu();//显示菜单 
void show(int sn);//显示 
void mainmenu();//主菜单 
void searchmenu();//搜索菜单 
void search(int pn);//搜索功能 
void changemenu();//过户菜单 
void delmenu();//删除菜单
void change(int cn);//修改函数 
void del(int dn);//删除 
void gettime(int i);//获取时间 
int main()
{
	int n;
	mainmenu();
	scanf("%d",&n);
	while(n)
	{
		switch(n)
		{
			case 1:inp();break;
			case 2:inv();break;
			case 3:searchmenu();break;
			case 4:changemenu();break; 
			case 5:showmenu();break; 
			case 6:delmenu();break; 
			default:break;
		}
		mainmenu();
		scanf("%d",&n);
	}
 } 
 
////////////////////////////////////////菜单/////////////////////////// 
void mainmenu()
{
	system("cls");
	printf("******************车管所车辆管理系统*******************\n");
	printf("*                                                     *\n");
	printf("*                1-录入车主信息                       *\n");
	printf("*                2-录入车辆信息                       *\n");
	printf("*                3-搜索                               *\n");
	printf("*                4-车辆过户车辆颜色修改               *\n");
	printf("*                5-列出所有车辆或人员                 *\n");
	printf("*                6-信息删除                           *\n");
	printf("*                0-退出                               *\n");
	printf("*                                                     *\n");
	printf("*******************************************************\n");
	
	printf("请选择0~6\n");
}
///////////////////修改菜单///////////// 
void changemenu()//修改菜单 
{
        int n;
		system("cls");
		printf("请输入您要修改的项目：\n");
		printf("1-过户\n");
		printf("2-修改车辆颜色\n");		
		printf("0-返回\n");
		scanf("%d",&n);
		change(n); 
}
///////////////////搜索菜单///////////// 
void searchmenu()//搜索菜单 
{
        int n;
		system("cls");
		printf("请输入您要查询的项目：\n");
		printf("1-车牌号\n");
		printf("2-车架号\n");
		printf("3-身份证\n");
		printf("0-返回\n");
		scanf("%d",&n);
		search(n); 
}
///////////////////显示菜单///////////// 
void showmenu()//显示菜单 
{
        int n;
		system("cls");
		printf("请输入您要显示的项目：\n");
		printf("1-车\n");
		printf("2-车主\n");
		printf("0-返回\n");
		scanf("%d",&n);
		show(n); 
}
///////////////////删除菜单///////////// 
void delmenu()//删除菜单 
{
        int n;
		system("cls");
		printf("请输入您要删除的项目：\n");
		printf("1-车\n");
		printf("2-车主\n");
		printf("0-返回\n");
		scanf("%d",&n);
		del(n); 
}
///////////////////输入车/////////////////
void inv()//输入车 
{
	system("cls");
	int i=0,m=0,o=0,rn;
	char ch[2];
	FILE *fp,*fp2;
	if((fp=fopen("vehicle.json","a+"))==NULL)//判断文件 
	{
		printf("系统出错，请与开发者联系！"); 
		system("pause");
		return; 
	}
	fp2=fopen("owner.json","r"); 
	while(!feof(fp))//不等于空 
	{
	    if(fread(&veh[m],LEN,1,fp)==1)//读文件
		{
		m++;//累计车
		 } 
	}
	while(!feof(fp2))
	{
	if(fread(&owner[o],LEN2,1,fp2)==1) 
	{
	o++;//累计车主	
	}
	}
	fclose(fp);
	fclose(fp2);
	if(m==0)//没有累积到车辆 
	{
	    printf("无车辆记录\n");
	}
	else
	{
		system("cls");
		show(1);//显示已经存在的车辆 
	}
	if(o==0)
	{
		printf("无车主记录，请先添加车主\n");
		system("pause");
		return; 
		
	}
	if((fp=fopen("vehicle.json","a+"))==NULL)//判断文件 
	{
		printf("系统出错，请与开发者联系！"); 
		system("pause");
		return; 
	}
	printf("是否录入车辆：Y/N\n");
	scanf("%s",ch) ;
	while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)//判断输入的Y/N 
	{
		system("cls");
		printf("请输入车牌号:\n");
		scanf("%s",&veh[m].plate); 
		for(i=0;i<m;i++)
		{
			if(strcmp(veh[m].plate,veh[i].plate)==0)//判断车牌号是否存在 
			{
				printf("您输入的车牌号已经存在！");
				fclose(fp);
				system("pause");
				return; 
			}
		}
		printf("请输入车辆车架号(纯数字):\n");
		scanf("%d",&veh[m].registration);
		for(i=0;i<m;i++)
		{
			if(veh[m].registration==veh[i].registration)//判断车架号是否存在 
			{
				printf("您输入的车架号已经存在！");
				fclose(fp);
				system("pause");
				return; 
			}
		}
		fp2=fopen("owner.json","w");
		printf("请输入车主身份证号:\n");
	    scanf("%d",&rn);
	    for(i=0;i<o;i++)
		{
			if(rn==owner[i].num)
			{
				strcpy(veh[m].ownerv->name,owner[i].name);//将车主名字传递给veh数组中的name
				veh[m].ownerv->num=owner[i].num;//将车主rn传递给veh数组中的num
				if(strcmp(owner[i].plate1,"NULL")==0)//向已有人员信息中添加车牌 
				{
					strcpy(owner[i].plate1,veh[m].plate);
					break;
				}
				if(strcmp(owner[i].plate2,"NULL")==0)
				{
					strcpy(owner[i].plate2,veh[m].plate);
					break;
				}
				if(strcmp(owner[i].plate3,"NULL")==0)
				{
					strcpy(owner[i].plate3,veh[m].plate);
					break;
				}
				else{
					printf("此人已不可添加机动车！"); 
					system("pause");
					return; 
				}
				break;
			}
		}
		if(i==o)
		{
			printf("您输入的车主未找到，请先录入或检查信息！");
		    system("pause");
		    return; 	
		}
		printf("请输入品牌:\n");
	    scanf("%s",&veh[m].brand);
		printf("请输入车辆型号:\n");
	    scanf("%s",&veh[m].mod);
		printf("请输入车辆颜色:\n");
	    scanf("%s",&veh[m].color);
	    gettime(m);
	    for(i=0;i<o;i++)
	    fwrite(&owner[i],LEN2,1,fp2);
		if(fwrite(&veh[m],LEN,1,fp)!=1)//将数据保存在文件中 
		{
			printf("数据保存失败，请联系开发人员！"); 
		} 
		else
		{
			printf("%s车辆录入成功！\n",veh[m].plate);
			m++;
			system("pause");//暂停，代替getchat() 
		}
		printf("是否继续录入？（Y/N）");
		scanf("%s",ch); 
	}
	fclose(fp);	
	fclose(fp2);	
}
void inp()
{
	system("cls");
	int i=0,m=0;
	char ch[2];
	FILE *fp;
	if((fp=fopen("owner.json","a+"))==NULL)//判断文件 
	{
		printf("系统出错，请与开发者联系！"); 
		system("pause");
		return; 
	}
	while(!feof(fp))//不等于空 
	{
	    if(fread(&owner[m],LEN2,1,fp)==1)//读文件 
	    m++;//累计人 
	}
	fclose(fp);
	if(m==0)//没有累积到车辆 
	{
	    printf("无车主记录\n");
	}
	else
	{
		system("cls");
		show(2);//显示已经存在的车主 
	}
	if((fp=fopen("owner.json","a+"))==NULL)//判断文件 
	{
		printf("系统出错，请与开发者联系！"); 
		system("pause");
		return; 
	}
	printf("是否录入车主：Y/N\n");
	scanf("%s",ch) ;
	while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)//判断输入的Y/N 
	{
		system("cls");
		printf("请输入身份证号:\n");
		scanf("%d",&owner[m].num); 
		for(i=0;i<m;i++)
		{
			if(owner[m].num==owner[i].num)//判断身份证号是否存在 
			{
				printf("您输入的车主已经存在！");
				fclose(fp);
				system("pause");
				return; 
			}
		}
		printf("请输入车主姓名:\n");
		scanf("%s",&owner[m].name);
		strcpy(owner[m].plate1,"NULL");///默认为null 
		strcpy(owner[m].plate2,"NULL");
		strcpy(owner[m].plate3,"NULL");
		if(fwrite(&owner[m],LEN2,1,fp)!=1)//将数据保存在文件中 
		{
		printf("数据保存失败，请联系开发人员！"); 
		} 
		printf("%s车主录入成功！\n",owner[m].name);
		m++;
		system("pause");//暂停，代替getchat() 
		printf("是否继续录入？（Y/N）");
		scanf("%s",ch); 
	}
	fclose(fp);
 } 
void show(int sn)//显示 
{
	///////////////显示车辆////////////////////////////////////////
	if(sn==1)
	{
	system("cls");
	FILE *fp;
	int i,m=0;
	if((fp=fopen("vehicle.json","r"))==NULL)
	{
		printf("系统出错，请与开发者联系！"); 
		system("pause");
		return; 
	}
	while(!feof(fp))//取出文件 
	{
		if((fread(&veh[m],LEN,1,fp))==1)//判断文件是否读取成功，并将文件内容读取到veh[m]数组中 
		m++; 
	}
	fclose(fp);
	printf(SHOWS);
	for(i=0;i<m;i++)//输出数组中
	{
		printf(FROMAT,DATA);//显示
	}
	if(m==0)//累计人数为0时，未录入数据，无法统计搜索 
	{
	printf("无记录！");
	system("pause");
	return;
	}
	printf("本系统共有%d条记录\n",m);
	system("pause");
	return;
	}
//////////////////////////////////显示车主 //////////////////////////////////////
	if(sn==2)
	{
	system("cls");
	FILE *fp;
	int i,m=0,j;
	fp=fopen("owner.json","r");
	while(!feof(fp))//取出文件 
	{
		if((fread(&owner[m],LEN2,1,fp))==1)//判断文件是否读取成功，并将文件内容读取到veh[m]数组中 
		m++; 
	}
	fclose(fp);
	printf("身份证号	姓名		机动车1	       机动车2	      机动车3\n");
	for(i=0;i<m;i++)//输出数组中
	{
		printf("%d		%s		%s		%s		%s\n",owner[i].num,owner[i].name,owner[i].plate1,owner[i].plate2,owner[i].plate3);//显示
	}
	if(m==0)//累计人数为0时，未录入数据，无法统计搜索 
	{
	printf("无记录！");
	system("pause");
	return;
	}
	printf("本系统共有%d条记录\n",m);
	system("pause");
	return;
	}
 
}  

void search(int pn)//搜索 
{
    FILE *fp,*fp2;
	int snum,i,m=0,splates,rn,o=0;
	char ch[2],splate[2];
	if((fp=fopen("vehicle.json","r"))==NULL)//判断文件 
	{
		printf("系统出错，请与开发者联系！");
		system("pause"); 
		return; 
	}
	fp2=fopen("owner.json","r");
	while(!feof(fp))//不等于空 
	{
	    if(fread(&veh[m],LEN,1,fp)==1)//读文件 
	    m++;//累计车 
	}
	while(!feof(fp2))
	{
	if(fread(&owner[o],LEN2,1,fp2)==1)//读文件
        o++;//累计人数
	}
	fclose(fp);
	fclose(fp2);

	if(m==0||o==0)//累计人数为0时，未录入数据，无法统计搜索 
	{
		printf("没有记录！");
		system("pause");
		return; 
	}
	else
	{
	//////////////////////////////车牌搜索////////////////	
	if (pn==1)
	{
		system("cls");
		printf("请输入您要查询的车牌号：\n");
		scanf("%s",splate); 
		for(i=0;i<m;i++)
		{
			if(strcmp(splate,veh[i].plate)==0)//寻找 车牌 
			{
				printf("查询成功，是否显示？(Y/N):");
				scanf("%s",ch);
				if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
				{
	                printf(SHOWS);
				    printf(FROMAT,DATA);//输出所查询到信息，按照所给格式 
				    system("pause");
				    return;
				}
				else
					return;	 
			}
		}
	}
	////////////////////////////车架号搜索////////////////////// 
	if(pn==2)
	{
	system("cls");
	printf("请输入您要查询的车架号：\n");
		scanf("%d",&splates); 
		for(i=0;i<m;i++)
		{
			if(splates==veh[i].registration)//寻找 车架号 
			{
				printf("查询成功，是否显示？(Y/N):");
				scanf("%s",ch);
				if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
				{
	                printf(SHOWS);
				    printf(FROMAT,DATA);//输出所查询到信息，按照所给格式 
				    system("pause");
				    break;
				}
				else
					return; 
			}
		}	
	}
	//////////////搜索人 
	if(pn==3)
	{
	system("cls");
	printf("请输入您要查询的身份证：\n");
		scanf("%d",&rn); 
		for(i=0;i<o;i++)
		{
			if(rn==owner[i].num)//寻找 人利用身份证号 
			{
				printf("查询成功，是否显示？(Y/N):");
				scanf("%s",ch);
				if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
				{
				    printf("身份证号	姓名		机动车1	       机动车2	      机动车3\n");
					printf("%d		%s		%s		%s		%s\n",owner[i].num,owner[i].name,owner[i].plate1,owner[i].plate2,owner[i].plate3);//显示
				    system("pause");
				    break;
				}
				else
					return; 
			}
		}	
	}
	if(i==m||i==o)
	{
	printf("未找到您要查询到车辆，请确认车辆信息！"); 
	system("pause");
	return;
	}
	}	
 
}
///////////////////////////////////////////////////////
void change(int cn)//过户 
{

	system("cls");
	int i=0,m=0,o=0,rn,j,snum,k;
	char ch[2],splate[2];
	FILE *fp,*fp2;
/////////////////////////////过户////// ///////////////////////////////////
	if(cn==1)
	{

	if((fp=fopen("vehicle.json","r"))==NULL)//判断文件 
	{
		printf("系统出错，请与开发者联系！"); 
		system("pause");
		return; 
	}
	fp2=fopen("owner.json","r"); 
	while(!feof(fp))//不等于空 
	{
	    if(fread(&veh[m],LEN,1,fp)==1)//读文件
		{
		m++;//累计车
		 } 

	}
	while(!feof(fp2))
	{
		if(fread(&owner[o],LEN2,1,fp2)==1) //读文件 
		o++;	//累计人 
	}
	fclose(fp);
	fclose(fp2);
	if(m==0)//没有累积到车辆 
	{
	    printf("无车辆记录\n");
	    system("pause");
		return;
	}
	if(o==0)//没有累积到人 
	{
		printf("无车主记录，请先添加车主\n");
		system("pause");
		return; 
		
	}
	if((fp=fopen("vehicle.json","w"))==NULL||(fp2=fopen("owner.json","w"))==NULL)//判断文件 
	{
		printf("系统出错，请与开发者联系！"); 
		system("pause");
		return; 
	}
	printf("请输入您要过户车辆的车牌：");//键入车牌 
	scanf("%s",splate);
	for(i=0;i<m;i++)
	    if(strcmp(splate,veh[i].plate)==0)//寻找相应车辆 
		    break;
	if(i==m)//跳出循环，且没找到 
	{
		printf("对不起，没有您要过户的车辆信息！\n");
		system("pause");
		return; 
	}
	printf("请输入车新车主的身份证号:\n");
	scanf("%d",&rn);
		for(k=0;k<o;k++)
		{
			if((veh[i].ownerv->num==owner[k].num))//寻找相应的人 
			{
			    if(strcmp(owner[k].plate1,veh[i].plate)==0)
			    {
				strcpy(owner[k].plate1,"NULL");
				break;
			    }
			    if(strcmp(owner[k].plate2,veh[i].plate)==0)
			    {
				strcpy(owner[k].plate2,"NULL");
				break;
			    }
			    if(strcmp(owner[k].plate3,veh[i].plate)==0)
			    {
				strcpy(owner[k].plate3,"NULL");
				break;
			    }
			    else{
			    	printf("无法过户！");
					system("pause"); 
				}
			}
		}
	for(j=0;j<o;j++)
		{

			if((rn==owner[j].num))//寻找相应的人 
			{
			if(owner[j].num!=veh[i].ownerv->num)
		      {
				veh[i].ownerv->num=rn;
			    if(strcmp(owner[j].plate1,"NULL")==0)
			    {
				strcpy(owner[j].plate1,veh[i].plate);
				strcpy(veh[i].ownerv->name,owner[j].name);//将owner的名字给veh 
				break;
			    }
			    if(strcmp(owner[j].plate2,"NULL")==0)
			    {
				strcpy(owner[j].plate2,veh[i].plate);
			    strcpy(veh[i].ownerv->name,owner[j].name);//将owner的名字给veh 
				break;
			    }
			    if(strcmp(owner[j].plate3,"NULL")==0)
			    {
				strcpy(owner[j].plate3,veh[i].plate);
			    strcpy(veh[i].ownerv->name,owner[j].name);//将owner的名字给veh 
				break;
			    }
			    else{
			    	printf("无法过户！");
					system("pause"); 
				}
			   }
			}
		}
		if(j==o)
		{
			printf("您输入的车主未找到，请先录入或检查信息！");
		    system("pause");
		    return; 	
		}
		for(j=0;j<m;j++)/*将新修改的信息写入指定的磁盘文件中*/
		if(fwrite(&veh[j],LEN,1,fp)!=1)//写入 
		{ 
		printf("过户失败，请与开发人员联系!\n"); 
		system("pause");
		}
		for(j=0;j<o;j++)/*将新修改的信息写入指定的磁盘文件中*/
		if(fwrite(&owner[j],LEN2,1,fp2)!=1)//写入 
		{ 
		printf("过户失败，请与开发人员联系!\n"); 
		system("pause");
		}
		printf("过户成功!\n");
		fclose(fp);
		fclose(fp2); 
		system("pause");
	}

////////////////////////////////////////////////////改色///////////////////////// 

    if(cn==2)//修改车辆信息 
	{
	if((fp=fopen("vehicle.json","a+"))==NULL)//判断文件 
	{
		printf("系统出错，请于开发人员联系！");
		return ;
	}
	while(!feof(fp))
	{
		if(fread(&veh[m],LEN,1,fp)==1)//判断文件是否读取成功，并将文件内容读取到veh[m]数组中 
		m++;
	}
	if(m==0)
	{
		printf("无记录！\n");
		system("pause");
		return ;
	}
	printf("请输入您要修改车辆的车牌：");//键入学号 
	scanf("%s",splate);
	for(i=0;i<m;i++)
	    if(strcmp(splate,veh[i].plate)==0)//寻找相应车辆 
		    break;
	if(i==m)//跳出循环，且没找到 
	{
		printf("对不起，没有您要修改的车辆信息！\n");
		system("pause");
		return; 
	}
	fclose(fp);
	printf("请输入车辆颜色:\n");
	scanf("%s",&veh[i].color);
	if((fp=fopen("vehicle.json","w"))==NULL)
	{ 
	     printf("系统出错，请与开发人员联系！\n");
		system("pause");
		return;
	}
	for(j=0;j<m;j++)
		if(fwrite(&veh[j],LEN,1,fp)!=1)//写入 
		{ 
		printf("更新失败，请与开发人员联系!\n"); 
		system("pause");
		}
		fclose(fp);
		printf("更新成功!\n"); 
		system("pause");

	}
}	
void del(int dn)//删除
{
///////////////////删除车辆//////////////////////
	system("cls");
    FILE *fp,*fp2;
	int snum,i,j,m=0,rn,o=0,k;
	char ch[2],splate[2]; 
	if(dn==1) 
	{
		if((fp=fopen("vehicle.json","a+"))==NULL)//判断文件 
	{
		printf("系统出错，请于开发人员联系！");
		return ;
	}
	fp2=fopen("owner.json","a+");
	while(!feof(fp))
	{
		if(fread(&veh[m],LEN,1,fp)==1)//判断文件是否读取成功，并将文件内容读取到veh[m]数组中 
		m++;
	}
		while(!feof(fp2))
	{
		if(fread(&owner[o],LEN2,1,fp2)==1)//判断文件是否读取成功，并将文件内容读取到std[m]数组中 
		o++;
	}
	fclose(fp);
	fclose(fp2);
	if(m==0)
	{
		printf("无记录！\n");
		system("pause");
		return ;
	}
	printf("请输入您要删除的车牌：");//键入学号 
	scanf("%s",splate);
	for(i=0;i<m;i++)
	    if(strcmp(splate,veh[i].plate)==0)//寻找相应车辆 
		    break;
	if(i==m)//跳出循环，且没找到 
	{
		printf("对不起，没有您要删除的车辆信息！\n");
		system("pause");
		return; 
	}
	printf("确定要删除吗？（Y/N）");
	scanf("%s",ch);
	if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
	{
		for(k=0;k<o;k++)//删除人员信息中的车牌 
		{
			if(strcmp(owner[k].plate1,veh[i].plate)==0)
			{
				strcpy(owner[k].plate1,"NULL");
			}
			if(strcmp(owner[k].plate2,veh[i].plate)==0)
			{
				strcpy(owner[k].plate2,"NULL");
			}
			if(strcmp(owner[k].plate3,veh[i].plate)==0)
			{
				strcpy(owner[k].plate3,"NULL");
			}
		}
		for(j=i;j<m;j++)//讲i下标给j,从j开始覆盖数组veh[i] ，往后覆盖 
			veh[j]=veh[j+1];
		m--;
		printf("删除成功!\n");
		system("pause");	
	}
	if((fp=fopen("vehicle.json","w"))==NULL)
	{
		printf("系统出错，请于开发人员联系！");
		return ;
	}
	fp2=fopen("owner.json","w");
	for(j=0;j<m;j++)
		if(fwrite(&veh[j],LEN,1,fp)!=1)//将数组veh[j]的内容写入文件 
		{
			printf("更新失败，请与开发人员联系！"); 
		}
		for(k=0;k<o;k++)
		{
		if(fwrite(&owner[k],LEN2,1,fp2)!=1)//将数组veh[j]的内容写入文件 
		{
			printf("更新失败，请与开发人员联系！"); 
		}
		}	 
	fclose(fp);
	fclose(fp2);  
	}
	///////删除车主 
	if(dn==2)
	{
		if((fp2=fopen("owner.json","a+"))==NULL)//判断文件 
	{
		printf("系统出错，请于开发人员联系！");
		return ;
	}
	fp=fopen("vehicle.json","a+");
	while(!feof(fp2))
	{
		if(fread(&owner[o],LEN2,1,fp2)==1)//判断文件是否读取成功，并将文件内容读取到std[m]数组中 
		o++;
	}
	while(!feof(fp))
	{
		if(fread(&veh[m],LEN,1,fp)==1)//判断文件是否读取成功，并将文件内容读取到std[m]数组中 
		m++;
	}
	fclose(fp2);
	fclose(fp);
	if(o==0)
	{
		printf("无记录！\n");
		system("pause");
		return ;
	}
	printf("请输入您要删除车主的身份证号：");//键入学号 
	scanf("%d",&rn);
	for(i=0;i<o;i++)
	    if(rn==owner[i].num)//寻找相应 
		    break;
	for(j=0;j<m;j++)
	if(strcmp(owner[i].name,veh[j].ownerv->name)==0)//历遍所有车辆，寻找车主是否已经有车辆 
	{
		printf("对不起，此车主还有车辆，请先删除车辆！\n");
		system("pause");
		return;	
	}
	if(i==o)//跳出循环，且没找到 
	{
		printf("对不起，没有您要删除的车主信息！\n");
		system("pause");
		return; 
	}
	printf("确定要删除吗？（Y/N）");
	scanf("%s",ch);
	if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
	{
		for(j=i;j<o;j++)//讲i下标给j,从j开始覆盖数组owner[i] ，往后覆盖 
			owner[j]=owner[j+1];
		o--;
		printf("删除成功!\n");
		system("pause");	
	}
	if((fp2=fopen("owner.json","w"))==NULL)
	{
		printf("系统出错，请于开发人员联系！");
		return ;
	}
	for(j=0;j<o;j++)
		if(fwrite(&owner[j],LEN2,1,fp2)!=1)//将数组owner[j]的内容写入文件 
		{
			printf("更新失败，请与开发人员联系！"); 
		}	 
	fclose(fp2); 
	 } 
}
///////////////获取时间并存入响应数组////////////////// 
void gettime(int i)//获取时间并存入 
{
    time_t t;//将t声明为时间变量
    struct tm *p;//struct tm是一个结构体，声明一个结构体指针
    time(&t);
    p=localtime(&t);//获得当地的时间
    veh[i].timed->year=1900+p->tm_year;
	veh[i].timed->moth=1+p->tm_mon;
	veh[i].timed->day=p->tm_mday;	
}